package com.itcam.phaseiii.lambda_.test;

import java.util.Random;

/**
 * Author:Cammy.Wu
 * Date:2024-04-29
 * Description:
 */

public class LambdaTest3 {
    public static void main(String[] args) {
        useRandomNumHandler(new RandomNumHandler() {
            @Override
            public int getNumber() {
                return new Random().nextInt(100) + 1;
            }
        });

        System.out.println("-----------------------------------------");

        /**
         * 如果Lambda表达式的方法体代码只有一行代码
         *          可以省略大括号不写，同时要省略分号
         *       ☆ 此时，如果这行代码时return语句，必须省略return不写，同时也必须省略";"不写
         */
        useRandomNumHandler(() ->
                new Random().nextInt(100) + 1);
    }

    public static void useRandomNumHandler(RandomNumHandler randomNumHandler) {
        int result = randomNumHandler.getNumber();
        System.out.println(result);
    }
}


interface RandomNumHandler {
    int getNumber();
}
